1. Field of the Invention
The present invention relates generally to the data processing field, and more particularly, to a computer implemented method, system and computer usable program code for handling service requests in a data processing system, and for software development.
2. Description of the Related Art
A Service-Oriented Architecture (SOA) is a collection of services that communicate with one another over a network in order to carry out business processes.
Communication in an SOA can involve the simple passing of data or it can involve two or more services that coordinate some activity. Such services are loosely coupled (meaning that one application does not need to know the technical details of another application in order to communicate with the other application), have well-defined platform independent interfaces, and are reusable.
In general, a service-oriented approach enables one or more businesses to link together fragmented data and business processes in order to create a more complete view of operations. For example, a retail business deciding whether to issue a credit card to a customer can use SOA technology to tap different available sources to pull together information on the customer's credit worthiness and buying habits. A bank can use the same SOA to handle account transfers whether they originate from a teller, an ATM or a Web application, thus avoiding the need for multiple applications. As yet another example, a manufacturer can effectively use an SOA to measure a production process, and then make appropriate adjustments to the process that feed back instantly to its chain of suppliers.
When building a software product, such as an SOA, it is known to use “design patterns” to assist in building the product. A design pattern can be defined as a recurring solution to a problem in a context. The context is the environment, surroundings, situation or interrelated conditions within which the problem exists; and typically, the problem is constrained by the context. Accordingly, a solution to the problem refers to the answer to the problem in a context that helps resolve the issues.
A design pattern describes an expert solution to a problem. Typically, a design pattern is documented in a template format, although it may be documented in other ways as well. Design patterns exist that describe solutions to everything from analysis to design and from architecture to implementation. There are design patterns for numerous areas of interest and technologies. For example, design patterns may describe how to work with a specific programming language or a specific industry segment such as the health care field.
A design pattern is a general, repeatable solution to a commonly recurring problem in software design. A design pattern is not a finished design that can be directly transformed into a code, but is a description or template for how to solve a problem that can be used in different situations.
Design patterns can speed up the software development process by providing tested, proven development paradigms. Reusing design patterns can help prevent subtle issues that can cause major problems, and can improve code readability for coders and architects familiar with the patterns.
In general, there is a need for an improved design pattern that facilitates handling of service requests in a data processing system such as a data processing system implemented in an automated Service-Oriented Architecture, and for software development.